The invention relates to a signal used in the transmission of data in a communication system, wherein the signal is comprised of continuous, successive cells. The invention further relates to a method for synchronizing a receiver relative to the cells of such a signal, a method for generating the above-named signal, and transmitting and receiving circuits used to implement this method.
In packet-oriented data transmission, such as, for example, in an ATM system (ATM=asynchronous transfer mode), the receiver must recognize (in English, packet delineation) the start time of the incoming packets (also called cells). The quality of this synchronization significantly affects the overall performance of the system. A poor xe2x80x9cpacket delineationxe2x80x9d increases proportionately the number of data packets that are lost, and can thereby, for example, destroy the performance of other processing steps.
Cell synchronization shouldxe2x80x94first of allxe2x80x94be as immune as possible to bit errors and bit patterns that may be present within the transmitted data (so-called mimics: random patterns that simulate a synchronization pattern) and will lead to synchronization error. Second, in the case of a synchronization error, the receiver should be capable of extricating itself from this situation independently. Third, and finally, it should be possible to implement the method at the lowest possible cost in terms of hardware. Generally, the cost in terms of hardware increases proportionally to reliability requirements. To this extent, then, the first two requirements stand in direct contrast to the third requirement.
In communication systems (especially in networks having several nodes), in addition to the user data, monitoring and control data usually must also be transmitted. The monitoring data may be based upon the user data or some given system conditions.
The system user is interested primarily in having his data transmitted at the highest possible speed. It would thus be to his benefit to have the largest possible band width at his disposal. For physical reasons, or due to standardized requirements, however, the overall band width that is available is limited. The transmission of control data can thus result in a necessary reduction in the band width available for user data. In order to leave the largest possible band width available to the user, the monitoring and/or control data should be transmitted as efficiently as possible.
It is the object of the invention to provide a signal of the type described above such that a high probability of synchronization is ensured and synchronization errors can be detected within a short period of time. In addition, it is the object to process the signal at little cost in terms of circuit engineering.
In accordance with one embodiment of the invention, at least some of the transmitted packets or cells contain a predefined bit pattern, which is recognized by the receiver and which permits the detection of the cell boundaries. In order to prevent the receiver from mistakenly synchronizing itself to a bit pattern that may be contained in the (randomly variable) data stream from the user, the communication system, at the transmitter end, provides the synchronization bit pattern with a specific error protection code. This error protection code differs from the code that is used to protect the user data.
Recognition of a predefined bit pattern is relatively simple and quick. This is important for communication systems having high data transmission rates. If the sequence of the data bits to be transmitted by the user should coincidentally be identical to the predefined synchronization pattern (mimic), this will necessarily result in a different error protection code. If the synchronization pattern and its error protection code are regarded as a single unit, then the invention will ensure (with very high probability) that this unit cannot be simulated by the user.
The predefined bit pattern should be of a certain length, so that the probability that precisely this bit sequence will occur in the data from the user is very slight. It will typically have a length of several bytes. Due to the encoding specified in the invention, it is not necessary for the length to be greater than 20 bytes. In the exemplary embodiment described in detail below, for example, this length is 10 bytes.
Preferably, both the predefined bit pattern and the user data are provided with a parity code. In accordance with the invention, however, various polarity patterns are used. If, for example, the polarity pattern of the user data alternates even and odd, then that bit pattern may have several equal polarities one after another.
Of course it is also possible for the predefined bit pattern on the one hand and the user data on the other hand to be processed with totally different encoding procedures. What is important here is that the probability is infinitesimal, if not zero, that a coincidentally identical bit pattern in the user data would result in the same error protection code.
It naturally remains a possibility that a mimic may be produced as a result of a certain error combination in transmission. In order for the receiver to be able to recognize an error in synchronization, the transmitted cells are also provided with a block code, at a predetermined position, which essentially encodes the payload region of the cell. In the case of a synchronization error, the receiver naturally interprets any byte as a block code, so that, as a result, the bit error rate will lie far above the average bit error rate for the system.
A particularly simple and effective encoding is presented by bit interleaved parity encoding. In this, in principle, all bytes of the cell are encoded in columns. The BIP value (BIP=bit interleaved parity) is positioned, for example, at the end of the cells. It can be advantageous for the BIP value not to encode all of the bytes of the cell. According to a preferred embodiment of the invention, for example, one report byte is not encoded in the BIP value. This byte can then be changed from cell to cell in order, for example, to permit recognition of a so-called xe2x80x9cslip.xe2x80x9d (In a xe2x80x9cslipxe2x80x9d the receiver misses individual time cycles for one reason or another. The report byte makes it possible to recognize a xe2x80x9cslipxe2x80x9d even when the user data, for example, contain a series of zeros).
In accordance with one preferred embodiment of the invention, the predefined bit pattern is transmitted not in those cells that contain the user data, but rather in separate filler cells. These are always transmitted when no user data are present, but, also when the capacity of the transmission link has been exceeded. In each case, these filler cells should be present in the data stream at a frequency rate of at least 0.1%. Ifxe2x80x94viewed statisticallyxe2x80x94fewer filler cells are present, then the synchronization time will be disproportionately high (because the synchronization bit pattern will appear too infrequently). Advantageously, the statistical frequency lies within a range of 1%.
Naturally, the synchronization bit pattern should not be transmitted more frequently than necessary. If it were present in more than 10% of the cells, then the effects on transmission capacity would be noticeable.
It is advantageous for the length of the cells to be firmly predetermined (for example 53 bytes). It is, however, entirely possible to work with cells of varying lengths. Obviously, some indication of the length of the given cell must then be provided somewhere in the cell header.
In the simplest case, filler cells and data lines are equal in length and of basically the same format (for example 5 bytes header, 48 bytes payload). The predefined bit pattern is then positioned in the header of the filler cells, and the BIP value is at the end of each data line. In principle it remains possible for the synchronization bit pattern to be contained in the header of a data cell. With relatively small cells (such as are typically found in ATM systems), however, this would take up space that should be left open for other information.
In certain system configurations (for example when the format of the header is not firmly fixed) it is possible for data cells to become confused with filler cells, resulting in their erroneous elimination by the receiver, without their content being examined. In order to prevent this, a different error protection code (for example a different, specifically an inverse, parity polarity pattern) may be used. This permits the parity demodulator on the receiver end to differentiate between filler cells and data cells. It can then properly drive the subsequent multiplexer, which segregates the filler cells.
The signal specified in the invention is carefully designed such that the receiver-end circuit, or the method of packet synchronization, is very simple. In the transmitter, the predefined bit pattern is stored (or programmed in), together with the proper error protection code, as a single coherent bit sequence. For packet synchronization, it is necessary only to search the affected data stream for the above-named bit sequence. When it is found, the synchronization is considered successful (or it is assumed it is successful).
In principle, two circuit components are to be used at the receiver end, between which changeovers can be made as necessary. One of the circuit components (search circuit) serves to search for and recognize the bit pattern to permit detection of the packet boundaries (function xe2x80x9chunt statexe2x80x9d). The other (xe2x80x9csync-statexe2x80x9d circuit component) determines the current bit error rate and initiates a restart when a boundary has been crossed. The above-named circuit components can be programmed into the hardware or into the software.
In order to ensure that no synchronization error is present (or that the synchronization will later be lost without this being noticed), at the end of each cell the block codes (for example the BIP values) are checked, quasi in the xe2x80x9ctracking mode.xe2x80x9d If the error rate lies within the range of the system error rate (this s is known because they are statistically measurable), then a proper synchronization is assumed. If, in contrast, the error rate is very high (for example more than 10%), then a new synchronization is implemented. (The system error rate for the communication systems referred to here typically lie far below 10xe2x80x23.)
Before a decision is made regarding a restart, several cells are checked . Only when the error rate exceeds a certain value is a synchroniza tion error assumed. The above-named value maybe firmly pre-established or may be variable. In other words, a statistical analysis of the system error rate can be implemented online (for example, by taking measurements every few minutes).
At the receiver end, costs are minimal at any rate. The filler cells can be stored in a memory unit (such as a ROM) as a completed bit sequence, from which they are read out when needed. Thus, with this embodiment of the invention it is no longer necessary to generate the error protection code for the predefined bit sequence online.
In addition, the data lines that are sent are counted, to permit the filler cells to be interspersed into the data stream with the desired frequency.
In accordance with one particularly preferred embodiment of the invention, it is assumed that an initial data stream is encoded with parity bits. For the transmission of a second data stream (especially control data and similar streams), a polarity of the parity bit is modulated.
In principle, this independent, inventive idea is based upon the assumption that a stream of user data is already being transmitted that, is protected by parity bits against error. In accordance with the invention, the parity bits are now used for the transmission of additional data (control data, monitoring data, system parameters, etc.), via a modulation of the polarity pattern. Since the parity bits are present in any case, no additional band widths are required by the modulation of the polarity. In principle, then, with a predetermined band width, the band width efficiency is improved.
The modulation typically involves the combination of several successive parity bits into a single group, after which they are modulated as a block.
In a data packet, for example, a pre-defined sequence of parity polarities can be provided, that are intermittently or temporarily inverted when, for example, a xe2x80x9c1xe2x80x9d is to be transmitted in place of a xe2x80x9c0xe2x80x9d.
In addition, at least two different polarity patterns can be used selectively by the transmitter to transmit either a xe2x80x9c0xe2x80x9d or a xe2x80x9c1.xe2x80x9d It is clear that the data rate of the control data must be much lower than that of the user data. (If this condition is not fulfilled, then an independent transmission channel will be required.)
The groups will preferably have an uneven number of parity bits (for example, three). For the transmission of a xe2x80x9c0xe2x80x9d, for example, the polarity pattern EVEN-ODD-EVEN is used, and for the transmission of a xe2x80x9c1xe2x80x9d the pattern ODD-EVEN-ODD is used. The uneven number of parity bits permits a so-called majority decision at the receiver end. That is, only the number of even and uneven parities must be counted to determine whether a xe2x80x9c0xe2x80x9d or a xe2x80x9c1xe2x80x9d has been sent. Of course, even in the case of an even number of parity bits per group, polarity patterns may be selected that will permit a majority decision (for example, EVEN-EVEN-ODD-EVEN rather than ODD-ODD-ODD-EVEN). In that case, however, the polarities EVEN and ODD may not be evenly distributed, or may be less evenly distributed.
Preferably, both parity polarities are represented within a group. In this manner, the probability of a long sequence having equal bits in the transmitted data stream can be minimized.
In principle it remains a possibility that the system would make the channel specified in the invention open to the user. Care must be taken to ensure that although the above-named supplementary channel xe2x80x9cridesxe2x80x9d the user data, it is nevertheless independent of it. The system can transmit its own control data, without the user taking notice of it, let alone being able to manipulate anything.
The data transmission method specified in the invention is particularly well suited for ATM systems (ATM=asynchronous transfer mode). Naturally it is suitable for application in any situation in which data are protected by a code against transmission errors.
In the following detailed description, and in the entirety of the patent claims, further advantageous embodiments and combinations of characterizing features of the invention are revealed.